package com.example.android_day01.Dome

// 列表的let 函数
// 列表的let 函数 可以对列表进行操作
// 入口函数
fun main() {
    // let
    var food: String? = null
    food = "隆江猪脚饭"
    // 不为空 才会执行 let块中的逻辑
    // let块 用it 可以快速获取
    food?.let {
        // 前面是安全调用，后面是let函数
        println("哇塞")
        println(it.length)
        println(it)
    }

    class Student {
        fun sing() {
            println("只因你太美")
        }

        fun dance() {
            println("铁山靠")
        }

        fun rap() {
            println("你有 freestyle")
        }

        fun play() {
            println("打篮球")
        }
    }

    val s = Student()
    s.sing()
    s.dance()
    s.rap()
    s.play()
    println("-----------------")
    with(s) {
        sing()
        dance()
        rap()
        play()
    }

    var res = run {
        // 局部变量 外部 无法访问
        // 不受外部影响的执行一些逻辑
        var secret = "我有一个小秘密"
        var secret2 = "就不告诉你"
        // 代码末尾的内容会作为返回值
        secret + secret2
    }
    println(res)

//    println(secret)

}